<template>
  <view class="page">
    <!-- 表单组件 -->
    <mes-form :mesForm="mesFormTop"></mes-form>
    <mes-tip type="examine" v-if="status == '1'"></mes-tip>
    <!-- 商品-->
    <mes-goods
      ref="mesGoodsRef"
      :form="mesGoodsForm"
      @delete="delGoods"
      :showDel="false"
      @edit="editGoods"
    >
    </mes-goods>
    <!-- 备注 -->
    <mes-form :mesForm="remark"></mes-form>
    <!-- 重置 -->
    <mes-button :type="3" :form="buttonFrom"></mes-button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      id: '', //当前单id
      status: '', //审核状态
      mesGoodsForm: {
        numberUnitField: 'unit_name', //数量单位
        priceField: 'unit_price' //单价
      },
      buttonFrom: {
        leftEvent: () => {
          if (this.status == '1') {
            return this.$tools.toast('不能删除已审核单据')
          }
          let that = this
          uni.showModal({
            title: '提示',
            content: '是否确认删除？',
            success: function (r) {
              if (r.confirm) {
                that.$api.prod.acceptance.del({ id: that.id }).then((res) => {
                  if (res.code == 200) {
                    that.$tools.successBack(res.msg)
                  }
                })
              } else if (r.cancel) {
                // that.$tools.successBack('用户取消删除')
              }
            }
          })
        },
        leftText: '删除',
        rightEvent: () => {
          this.edit()
        },
        rightText: '编辑'
      },
      remark: {
        top: 20,
        row: {
          remark: ''
        },
        items: [
          {
            title: '备注',
            slots: {
              field: 'remark'
            }
          }
        ]
      },
      mesFormTop: {
        top: 20,
        row: {},
        items: [
          {
            title: '单据编号',
            slots: {
              field: 'purchase_code'
            }
          },
          {
            title: '验收类型',
            slots: {
              field: 'code_name'
            }
          },
          {
            title: '加工单',
            slots: {
              field: 'chase_code'
            }
          },
          {
            title: '单据日期',
            slots: {
              field: 'purchase_time'
            }
          },
          {
            title: '验收人',
            slots: {
              field: 'work_name'
            }
          }
        ]
      }
    }
  },
  methods: {
    //删除商品
    delGoods(i) {
      getApp().globalData.goods.list.splice(i, 1)
    },
    //跳转到编辑页面
    edit(i) {
      if (this.status == '1') {
        return this.$tools.toast('不能编辑已审核单据')
      }
      let obj = {
        id: this.id
      }
      obj = JSON.stringify(obj)
      uni.navigateTo({
        url: `/pages/home/receipt/redact?obj=${obj}`
      })
    },
    //详情页商品
    editGoods(i) {
      let obj = {
        name: 'details',
        index: i
      }
      obj = JSON.stringify(obj)
      uni.navigateTo({
        url: `/pages/home/receipt/goods?obj=${obj}`
      })
    },
    //获取职员
    async getClerk(newId) {
      await this.$api.source.staff_member
        .index({
          page: 1,
          status: 1
        })
        .then((res) => {
          if (res.code == 200) {
            for (let i = 0; i < res.data.list.length; i++) {
              if (res.data.list[i].id == newId) {
                this.mesFormTop.row.work_name = res.data.list[i].name
              }
            }
          }
        })
    },
    //获取详情数据
    async getData(option) {
      const res = await this.$api.prod.acceptance.getdetail({ id: option })
      if (res.code == 200) {
        let info_list = []
        if (res.data.info_list && res.data.info_list.length) {
          res.data.info_list.forEach((item) => {
            info_list.push({
              id: item.id,
              goods_id: item.goods_id, //商品id
              // 编辑商品用到的（提交参数）
              // 商品编号（商品详情获取或者通用->商品价格接口获取）
              unit: item.unit,
              // 编辑商品用到的（提交参数）
              // 商品编号（商品详情获取或者通用->商品价格接口获取）
              goods_code: item.goods_code,
              //  商品规格型号
              goods_note: item.goods_note,
              goods_attr: item.goods_attr || null, // 商品属性ID(验证需要加)
              attr_name: item.attr_name || null, //属性名称
              auxiliary: item.goods_info.auxiliary, //属性状态
              serial_status: item.goods_info.serial || null,
              batch: item.goods_info.batch || null, //是否开启批次
              //  商品单位ID（资料->商品获取商品单位列表，用户选择）
              goods_unit: item.unit_id,
              stores_id: item.stores_id, //仓库ID
              allow_stock: item.allow_stock, // 可用库存
              //  数量（默认为1，用户修改）
              number: item.number,
              //  基本单位ID（商品详情获取或者通用->商品价格接口获取）
              default_unit: item.default_unit,
              //  基本数量（默认为1，多单位时需要换算，或者通过通用->价格变动接口格式化）
              basic_nmber: item.basic_nmber,
              unit_price: item.purchase, //商品单价
              all_money: item.money, //购货金额
              money: item.money,
              remark: item.remark, //备注
              batch_id: item.batch_id, //批次ID
              batch_name: item.batch_name, //批次名称
              manufacture: item.manufacture?item.manufacture*1000 :'', // 生产日期
              guarantee: item.guarantee, //保质期
              validity: item.validity?item.validity*1000:'', //有效期至
              serial: item.serial || null, //序列号数组
              serial_status: item.goods_info.serial,
                batch:item.goods_info.batch || null,//是否开启批次
              //  商品单价（通用->商品价格获取）
              purchase: item.purchase,
              // 编辑商品用到的（展示参数）
              default_unit_name: item.default_unit_name, //基本单位名称
              // mes-goods显示中用到的
              unit_name: item.unit_name, //数量单位
              goods_image: item.goods_image, //图片
              goods_name: item.goods_name, //商品名称
              period_period: item.serial //序列号数组
            })
          })
        }
        getApp().globalData.goods.list = info_list
        this.$refs.mesGoodsRef.getGoods()
        this.mesFormTop.row = {
          //单据类型（1：加工单，2：委外加工单）
          purchase_code: res.data.purchase_code, //单据编号
          code_type: res.data.code_type, //单据类型
          chase_code: res.data.chase_code, //加工单
          purchase_time: res.data.purchase_time, //单据日期
          work_id: res.data.work_id //验收人
        }
        this.getClerk(res.data.work_id)
        console.log(this.getClerk(res.data.work_id), '返回的是啥')
        this.mesFormTop.row.code_type == '1'
          ? (this.mesFormTop.row.code_name = '加工单')
          : (this.mesFormTop.row.code_name = '委外加工单')
        this.remark.row = {
          remark: res.data.remark
        }
      }
    }
  },
  onShow() {
    this.getData(this.id)
  },
  onLoad(option) {
    //获取职员
    let newObj = JSON.parse(option.obj)
    this.id = newObj.id
    this.status = newObj.status
  }
}
</script>

<style lang="less" scoped>
</style>
